#ifndef __ARM_SOLUTION_H
#define __ARM_SOLUTION_H

#include "main.h"
//一轴角度限位
#define DOF_MIN_ONE -90
#define DOF_MAX_ONE 90
//二轴角度限位
#define DOF_MIN_TWO -45
#define DOF_MAX_TWO 45
//三轴角度限位
#define DOF_MIN_THREE -60
#define DOF_MAX_THREE 60
//四轴角度限位
#define DOF_MIN_FOUR -180
#define DOF_MAX_FOUR 180
//五轴角度限位
#define DOF_MIN_FIVE -80
#define DOF_MAX_FIVE 80
//六轴角度限位
#define DOF_MIN_SIX -180
#define DOF_MAX_SIX 180

//最大距离
#define RANGE_MAX 380
//最小距离
#define RANGE_MIN 150
/* 范围限幅 */
int RangeLimit(float* range ,int numR);
/* 角度限幅 */
int AngleLimit(float* angle,int numA);
/* 逆运动学解算 */
void InverseK(float* Xik, float* Jik);

/* 正运动学解算(待定) */
void ForwardK(float* Jfk, float* Xfk);

#endif